package com.cn.wanxi.util;


import java.io.*;
import java.util.Arrays;

public class Test {

    public static void main(String[] args) {
/**
 * file
 * 對於Java  单继承 多实现
 */
        String path = "E:\\wanxi";
//        File file=new File(path);
        new Test().printFilePath(path);
//        System.out.println(Arrays.toString(list));
//        String fileName = "aa.txt";
//        File file = new Test().createFile(path, fileName);
//        String logo = "中华人民共和国";
//        String phone = "028-9999999999";
//        String[] array = {logo, phone};
//        new Test().write(array, file);

//        System.out.println(file);
//        System.out.println(directory1);
//        判断当前路径是文件夹或者文件--判断是否有后缀
//        就需要拿到当前路径的最后一个单词，是以\\为风格
//        public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引，
//        如果此字符串中没有这样的字符，则返回 -1。
//        int i = path.indexOf("\\");
//        System.out.println(i);
//        int i = path.lastIndexOf("/");
//        System.out.println(i);
//        String substring = path.substring(i + 1, path.length() - 1);

//        System.out.println(substring);
//        replace 第一个参数 被替换的  第二个参数替换后的字符
//
//        String path2 = path.replace("\\", "/");
//        String[] split = path2.split("/");
//        System.out.println(Arrays.toString(split));
//        如果不存在，则创建文件或者文件夹


    }

    /**
     * 递归，调用方法本身
     *
     * @param path
     */
    private void printFilePath(String path) {
//        根据path得到文件路径
        File directory = new File(path);
        //得到当前路径下的所有文件或者文件夹
        File[] list = directory.listFiles();
//        递归--算法，遍历
        for (File childPath : list
        ) {
            //得到里面的每一个路径
            File file = new File(childPath.toString());
            //判断当前路径是否为文件
            if (file.isFile()) {
                //如果是，则打印出来
                System.out.println(file);
            } else {
                //如果不是，则继续通过这个路径，查找是否还有文件
//                File tempDirectory=new File(a);
//                String[] tempDirectorys = directory.list();
                printFilePath(childPath.toString());
            }

        }

    }

    //写入数据
//    private void write(String[] array, File file) {
//
//        try {
//            OutputStream outputStream = new FileOutputStream(file);
//            for (int i = 0; i < array.length; i++) {
//                outputStream.write(array[i].getBytes());
//                outputStream.write("\n".getBytes());
//            }
//
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//
//    }

    /**
     * 创建文件或者文件夹
     * io流
     * @param path
     * @param fileName
     */
//    private File createFile(String path, String fileName) {
//
//        File directory = new File(path);
////        拿到路径--判断是否是文件或者文件夹，判断当前路径是否存在
//        boolean isDirectory = directory.isDirectory();
//        if (!isDirectory) {
//            boolean mkdir = directory.mkdirs();
////            System.out.println(mkdir);
//        }
//
//        File file = new File(directory, fileName);
////        那个地方功能就写在响应的代码里面
//        try {
//            file.createNewFile();
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        return file;
//    }
}
